﻿/*
 * Created by SharpDevelop.
 * User: LBALERI
 * Date: 06/02/2013
 * Time: 10:07 a.m.
 * 
 * To change this template use Tools | Options | Coding | Edit Standard Headers.
 */
using System;
using System.Drawing;
using System.Windows.Forms;

namespace CapturaImagen
{
	/// <summary>
	/// Description of AltaMuestra.
	/// </summary>
	public partial class AltaMuestra : Form
	{
		public static String nombreMuestra;
		public static string forma_espiga;
		public static string grano_pop;
		public static string color_grano;
		public static string color_marlo;
		
		public AltaMuestra()
		{
			//
			// The InitializeComponent() call is required for Windows Forms designer support.
			//
			InitializeComponent();
			Load += new EventHandler(AltaMuestra_Load);
			
			//
			// TODO: Add constructor code after the InitializeComponent() call.
			//
		}
		
		void AltaMuestra_Load(object sender, EventArgs e){
            //valores iniciales del formulario
			for (int i = 0; i <= 100; i = i+10) {
				this.cmbFueraTipo.Items.Add(i);
                this.cmbDanio.Items.Add(i);
                this.cmbPOP.Items.Add(i);
			}
			this.cmbFueraTipo.Text = "0";
            this.cmbDanio.Text = "0";
            this.cmbPOP.Text = "0";
			
			this.rdGBlan.Select();
			this.rdMBlan.Select();
            this.rdFundadora.Select();
            this.txtFecha.Text = DateTime.Today.ToShortDateString();
		}
		
		void BtnBorrarClick(object sender, EventArgs e)
		{
			reiniciarFormulario();
		}
		
		
		void BtnGuardarClick(object sender, EventArgs e)
		{
            try
            {
                
                Boolean verifica = verificarDatos();

                if (verifica)
                {
                    MessageBox.Show("Falta completar datos!!", "Alerta"
                                    , MessageBoxButtons.OK, MessageBoxIcon.Exclamation);

                }
                else
                {
                    String clase = "";
                    if (rdFundadora.Checked)
                    {
                        clase = "Fundadoras";
                    }
                    else if (rdProduccion.Checked)
                    {
                        clase = "Producción";
                    }
                    else if (rdSorgo.Checked)
                    {
                        clase = "Sorgo";
                    }
                    else if (rdRegulado.Checked)
                    {
                        clase = "Regulado";
                    }
                    else if (rdPiloto.Checked)
                    {
                        clase = "Piloto";
                    }

                    Boolean muestraInsertada = DAOAtributos.insertarMuestra(txtMuestra.Text, txtFecha.Text, txtLote.Text, clase);

                    int id_muestra = DAOAtributos.buscarMuestraPorNumero(txtMuestra.Text);
                    int fueraDeTipo = Convert.ToInt32(cmbFueraTipo.Text);
                    int danioBiologico = Convert.ToInt32(cmbDanio.Text);
                    int granoPOP = Convert.ToInt32(cmbPOP.Text);

                    if (rdGBlan.Checked)
                    {
                        color_grano = "Blanco";
                    }
                    else if (rdAma.Checked)
                    {
                        color_grano = "Amarillo";
                    }
                    else if (rdColo.Checked)
                    {
                        color_grano = "Colorado";
                    }
                    else if (rdMar.Checked)
                    {
                        color_grano = "Marrón";
                    }else if (rdNaranja.Checked)
	                {
		                color_grano = "Naranja";
	                }

                    if (rdMBlan.Checked)
                    {
                        color_marlo = "Blanco";
                    }
                    else if (rdRojo.Checked)
                    {
                        color_marlo = "Rojo";
                    }

                    Boolean atributosinsertados = DAOAtributos.insertarAtributos(id_muestra, fueraDeTipo, danioBiologico, granoPOP, color_grano, color_marlo, rtbObservaciones.Text);
                    if (muestraInsertada && atributosinsertados)
                    {
                        MessageBox.Show("La muestra se cargo correctamente!!", "Exito", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        reiniciarFormulario();
                    }
                    
                }
            }
            catch(Exception ex)
            {
                EscribirLog.escribirArchivo(ex.Message);
                MessageBox.Show("Error al intentar cargar los datos!!", "Error", MessageBoxButtons.OK,MessageBoxIcon.Error);
            }
			
		}
		void reiniciarFormulario(){
            this.cmbFueraTipo.Text = "0";
            this.cmbDanio.Text = "0";
            this.cmbPOP.Text = "0";

            this.rdGBlan.Select();
            this.rdMBlan.Select();
            this.rdFundadora.Select();

            this.txtFecha.Text = DateTime.Today.ToShortDateString();
            this.txtMuestra.Text = "";
            this.txtLote.Text = "";
            this.rtbObservaciones.Text = "";
		}
		
		Boolean verificarDatos(){
			Boolean verifica = false;
			foreach(Control ctrl in this.Controls)
			{
				if (ctrl is GroupBox) {
					
					foreach(Control c in ctrl.Controls )
					{
						if(c is TextBox)
						{
							if (c.Text.Trim().Equals("")) {
								verifica = true;
							}
						}else if (c is ComboBox) {
							
							if (c.Text.Trim().Equals("")) {
								verifica = true;
							}
						}
					}
				}
				
			}
			
			return verifica;
		}

		
		void BtnGuardarMouseHover(object sender, EventArgs e)
		{
			ToolTip ver = new ToolTip();
			ver.SetToolTip(btnGuardar,"Guardar");
		}
		
		void BtnBorrarMouseHover(object sender, EventArgs e)
		{
			ToolTip ver = new ToolTip();
			ver.SetToolTip(btnBorrar,"Limpiar");
		}
		
        private void calendario_DateChanged(object sender, DateRangeEventArgs e)
        {
            this.txtFecha.Text = this.calendario.SelectionRange.Start.ToShortDateString();
        }
	}
}
